package com.ruoyi.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户会员对象 bdm_member_rule
 *
 * @author ruoyi
 * @date 2024-12-09
 */
@Data
public class BdmMemberRuleVo implements Serializable {


    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 会员名称
     */
    @Excel(name = "会员名称")
    private String memberName;

    /**
     * 级别
     */
    @Excel(name = "级别")
    private Long memberLevel;

    /**
     * 类型
     */
    @Excel(name = "类型")
    private String type;

    /**
     * 礼包id
     */
    @Excel(name = "礼包id")
    private Long giftpackId;

    /**
     * 升级到此等级的人员数量
     */
    @Excel(name = "升级到此等级的人员数量")
    private String upgradeUserCount;

    /**
     * 1:正常;  2:禁用
     */
    @Excel(name = "1:正常;  2:禁用")
    private Long state;

    @Excel(name = "用户id")
    private Long sysUserid;

    @Excel(name = "代理等级")
    private Long memberAgencyLevel;

    @Excel(name = "代理等级名称")
    private String memberAgencyLevelName;

    @Excel(name = "手机号")
    private String phonenumber;

    @Excel(name = "上次消费时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderCreateTime;

    @Excel(name = "余额")
    private BigDecimal remainingSum;

    @Excel(name = "积分")
    private String creditScore;
    private String memberLevelName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime registerCreateTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "用户等级名称")
    private String userLevelName;

    @ApiModelProperty(value = "订单数")
    private Integer orderCount = 0;

    @ApiModelProperty(value = "订单金额")
    private String orderPayMoney = "0";

    @ApiModelProperty(value = "完成订单数")
    private Integer orderAccomplishCount = 0;

    @ApiModelProperty(value = "完成订单金额")
    private String orderAccomplishPayMoney = "0";

    @ApiModelProperty(value = "销售利润")
    private BigDecimal  profit;

}
